<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html
    PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!-- /fasttmp/mkdist-qt-4.3.5-1211793125/qtopia-core-opensource-src-4.3.5/doc/src/q3valuelist.qdoc -->
<head>
  <title>Qt 4.3: Q3ValueListIterator Class Reference</title>
  <link href="classic.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td align="left" valign="top" width="32"><a href="http://www.trolltech.com/products/qt"><img src="images/qt-logo.png" align="left" width="32" height="32" border="0" /></a></td>
<td width="1">&nbsp;&nbsp;</td><td class="postheader" valign="center"><a href="index.html"><font color="#004faf">Home</font></a>&nbsp;&middot; <a href="classes.html"><font color="#004faf">All&nbsp;Classes</font></a>&nbsp;&middot; <a href="mainclasses.html"><font color="#004faf">Main&nbsp;Classes</font></a>&nbsp;&middot; <a href="groups.html"><font color="#004faf">Grouped&nbsp;Classes</font></a>&nbsp;&middot; <a href="modules.html"><font color="#004faf">Modules</font></a>&nbsp;&middot; <a href="functions.html"><font color="#004faf">Functions</font></a></td>
<td align="right" valign="top" width="230"><a href="http://www.trolltech.com"><img src="images/trolltech-logo.png" align="right" width="203" height="32" border="0" /></a></td></tr></table><h1 align="center">Q3ValueListIterator Class Reference<br /><sup><sup>[<a href="qt3support.html">Qt3Support</a> module]</sup></sup></h1>
<p>The Q3ValueListIterator class provides an iterator for <a href="q3valuelist.html">Q3ValueList</a>. <a href="#details">More...</a></p>
<pre> #include &lt;Q3ValueListIterator&gt;</pre><p><b>This class is part of the Qt 3 support library.</b> It is provided to keep old source code working. We strongly advise against using it in new code. See <a href="porting4.html">Porting to Qt 4</a> for more information.</p>
<p>Inherits <a href="qlinkedlist-iterator.html">QLinkedList&lt;T&gt;::iterator</a>.</p>
<ul>
<li><a href="q3valuelistiterator-members.html">List of all members, including inherited members</a></li>
</ul>
<a name="public-functions"></a>
<h3>Public Functions</h3>
<ul>
<li><div class="fn"/><b><a href="q3valuelistiterator.html#Q3ValueListIterator">Q3ValueListIterator</a></b> ()</li>
<li><div class="fn"/><b><a href="q3valuelistiterator.html#Q3ValueListIterator-2">Q3ValueListIterator</a></b> ( const Q3ValueListIterator &amp; <i>o</i> )</li>
<li><div class="fn"/><b><a href="q3valuelistiterator.html#Q3ValueListIterator-3">Q3ValueListIterator</a></b> ( const QLinkedList&lt;T&gt;::iterator &amp; <i>o</i> )</li>
</ul>
<ul>
<li><div class="fn"/>15 public functions inherited from <a href="qlinkedlist-iterator.html#public-functions">QLinkedList::iterator</a></li>
</ul>
<a name="details"></a>
<hr />
<h2>Detailed Description</h2>
<p>The Q3ValueListIterator class provides an iterator for <a href="q3valuelist.html">Q3ValueList</a>.</p>
<p>An iterator is a class for accessing the items of a container class: a generalization of the index in an array. A pointer into a &quot;const char *&quot; and an index into an &quot;int[]&quot; are both iterators, and the general idea is to provide that functionality for any data structure.</p>
<p>The Q3ValueListIterator class is an iterator for <a href="q3valuelist.html">Q3ValueList</a> instantiations. You can create the appropriate iterator type by using the <tt>iterator</tt> typedef provided by <a href="q3valuelist.html">Q3ValueList</a>.</p>
<p>The only way to access the items in a <a href="q3valuelist.html">Q3ValueList</a> is to use an iterator.</p>
<p>Example (see <a href="q3valuelist.html">Q3ValueList</a> for the complete code):</p>
<pre> EmployeeList::iterator it;
 for ( it = list.begin(); it != list.end(); ++it )
     cout &lt;&lt; (*it).surname().latin1() &lt;&lt; &quot;, &quot; &lt;&lt;
             (*it).forename().latin1() &lt;&lt; &quot; earns &quot; &lt;&lt;
             (*it).salary() &lt;&lt; endl;

<span class="comment"> //</span> Output:
<span class="comment"> //</span> Doe, John earns 50000
<span class="comment"> //</span> Williams, Jane earns 80000
<span class="comment"> //</span> Hawthorne, Mary earns 90000
<span class="comment"> //</span> Jones, Tom earns 60000</pre>
<p><a href="q3valuelist.html">Q3ValueList</a> is highly optimized for performance and memory usage. This means that you must be careful: <a href="q3valuelist.html">Q3ValueList</a> does not know about all its iterators and the iterators don't know to which list they belong. This makes things very fast, but if you're not careful, you can get spectacular bugs. Always make sure iterators are valid before dereferencing them or using them as parameters to generic algorithms in the STL.</p>
<p>Using an invalid iterator is undefined (your application will probably crash). Many Qt functions return const value lists; to iterate over these you should make a copy and iterate over the copy.</p>
<p>For every Iterator there is a ConstIterator. When accessing a <a href="q3valuelist.html">Q3ValueList</a> in a const environment or if the reference or pointer to the list is itself const, then you must use the ConstIterator. Its semantics are the same as the Iterator, but it only returns const references.</p>
<p>See also <a href="q3valuelist.html">Q3ValueList</a> and <a href="q3valuelistconstiterator.html">Q3ValueListConstIterator</a>.</p>
<hr />
<h2>Member Function Documentation</h2>
<h3 class="fn"><a name="Q3ValueListIterator"></a>Q3ValueListIterator::Q3ValueListIterator ()</h3>
<p>Constructs an unitialized iterator.</p>
<h3 class="fn"><a name="Q3ValueListIterator-2"></a>Q3ValueListIterator::Q3ValueListIterator ( const Q3ValueListIterator &amp; <i>o</i> )</h3>
<p>Constucts a copy of iterator <i>o</i>.</p>
<h3 class="fn"><a name="Q3ValueListIterator-3"></a>Q3ValueListIterator::Q3ValueListIterator ( const <a href="qlinkedlist.html">QLinkedList</a>&lt;T&gt;::iterator &amp; <i>o</i> )</h3>
<p>Constucts a copy of iterator <i>o</i>.</p>
<p /><address><hr /><div align="center">
<table width="100%" cellspacing="0" border="0"><tr class="address">
<td width="30%">Copyright &copy; 2008 <a href="trolltech.html">Trolltech</a></td>
<td width="40%" align="center"><a href="trademarks.html">Trademarks</a></td>
<td width="30%" align="right"><div align="right">Qt 4.3.5</div></td>
</tr></table></div></address></body>
</html>
